home *** CD-ROM | disk | FTP | other *** search
- const
- PAD_TO_LENGTH = 3;
-
- function CountDigits(const S: WideString; StartI: Integer): Integer;
- var I: Integer;
- begin
- Result := 0;
- for I:=StartI to WideLength(S) do
- begin
- if IsWideCharDigit(S[I]) then
- Inc(Result)
- else
- Break;
- end;
- end;
-
- function MakeZeros(Count: Integer): WideString;
- var I: Integer;
- begin
- Result := '';
- for I:=1 to Count do
- Result := Result + '0';
- end;
-
- var
- Start, Count: Integer;
-
- begin
- Start := 1;
- while Start < WideLength(FileName) do
- begin
- Count := CountDigits(FileName, Start);
- if (Count > 0) then
- if (Count < PAD_TO_LENGTH) then
- begin
- WideInsert(MakeZeros(PAD_TO_LENGTH-Count), FileName, Start);
- Start := Start + PAD_TO_LENGTH;
- end
- else
- Start := Start + Count
- else
- Inc(Start);
- end;
- end.
-